//
//  CLLStatusCell.swift
//  CLWeiNo
//
//  Created by DDC on 2017/10/14.
//  Copyright © 2017年 DDC. All rights reserved.
//

import UIKit

class CLLStatusCell: UITableViewCell {

    /// 用户显示微博信息的视图模型
    var listModel:CLLStatusViewModel? {
        didSet {
            /// 微博正文
            statusLabel.text = listModel?.status.text
            /// 用户名
            userName.text = listModel?.status.user?.screen_name
            /// 用户头像
            
            iconView.cll_sdWebImage(urlString: listModel?.status.user?.profile_image_url, placeholderImage: UIImage(named: "avatar_default_small")!, isHeadarIcon: true)
            /// 底部工具栏
            bottomToolBar.listModel = listModel
            /// 测试配图视图的高度
            pictureView.listModel = listModel
            /// 设置配图视图的模型数组
            /// 测试只要4张图片的显示样式
//            if (listModel?.status.pic_urls?.count)! > 4 {
//                var picUrls = listModel!.status.pic_urls
//                
//                picUrls?.removeSubrange(((picUrls?.startIndex)! + 4)..<(picUrls?.endIndex)!)
//                pictureView.urls = picUrls
//            }else {
            
            // 被转发的微博文本
            retweetStatusLabel?.text = listModel?.retweetText
            
//            }
        }
    }
    
    /// 微博正文
    @IBOutlet weak var statusLabel: UILabel!
    /// 微博来源
    @IBOutlet weak var source: UILabel!
    /// 微博用户头像
    @IBOutlet weak var iconView: UIImageView!
    /// 创建时间
    @IBOutlet weak var createTime: UILabel!
    /// 用户名
    @IBOutlet weak var userName: UILabel!
    /// 底部工具栏
    @IBOutlet weak var bottomToolBar: CLLStatusToolBar!
    /// 配图视图
    @IBOutlet weak var pictureView: CLLStatusPictureView!
    /// 配图视图顶部约束
    @IBOutlet weak var pictureTopCons: NSLayoutConstraint!
    /// 转发微博文本
    // FIXME : 因为原创微博中没有这个属性,所以UILabel后面要使用?
    @IBOutlet weak var retweetStatusLabel: UILabel?
    
    override func awakeFromNib() {
        super.awakeFromNib()
        // Initialization code
        
        // 性能优化栅格化--离屏渲染
        // 离屏渲染-异步绘制
        self.layer.drawsAsynchronously = true
        // 栅格化,异步绘制之后,会生成一张独立的图片,cell显示的实际上是这个图片,cell上的图片数量层数越少越好
        self.layer.shouldRasterize = true
        // 栅格化之后,调整图片是缩略比例
        self.layer.rasterizationScale = UIScreen.main.scale
    }

    override func setSelected(_ selected: Bool, animated: Bool) {
        super.setSelected(selected, animated: animated)

        // Configure the view for the selected state
    }

}
